#ifndef RESIZABLE2DINTERFACE_H_
#define RESIZABLE2DINTERFACE_H_

#include <oslib/oslib.h>
#include "Object.h"
#include "Types.h"
#include "Color.h"
#include "DrawingCanvas.h"
#include "Drawing.h"

class Resizable2DInterface : public Object
{
	protected:
		DrawingCanvas *canvas;
		int d_id;
	public:
		virtual ~Resizable2DInterface(){}
		Resizable2DInterface();
		
		int getID();
		
		virtual void setColor(int r, int g, int b);
		virtual void setColor(int r, int g, int b, int a);
		virtual void setColor(Color c);
		
		virtual Color getColor();
		virtual OSL_COLOR osl_c();
		virtual unsigned int gu_c();
		
		virtual void setX(int _x);
		virtual void setY(int _y);
		virtual void move(int dx, int dy);
		virtual void moveTo(int x, int y);
		virtual void moveTo(Location point);
		virtual void hide();
		virtual void show();
		virtual void setVisibility(bool _vis);
		virtual bool toggleVisibility();
		
		int getX();
		int getY();
		Location getLocation();
		virtual bool isVisible();
		
		virtual string toString();
};

#endif /*RESIZABLE2DINTERFACE_H_*/
